﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
#if DOT_NET
using Microsoft.VisualStudio.TestTools.UnitTesting;
#else
using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;
#endif
using StyleMVVM.DependencyInjection;
using StyleMVVM.UnitTests.TestClasses.SimpleObjects;

namespace StyleMVVM.UnitTests.TestClasses.SimpleObjects
{
	[Export]
	public class ImportConstructorMultipleParam
	{
		[ImportConstructor]
		public ImportConstructorMultipleParam(ITestInterface testInterface,
		                                      IGenericTestInterface<string> testString,
		                                      SimpleExport simpleExport,
		                                      [Import(Required = false)] IDummyInterface dummyInterface)
		{
			TestInterface = testInterface;

			GenericTestInterface = testString;

			SimpleExport = simpleExport;

			Assert.IsNull(dummyInterface);
		}

		public ITestInterface TestInterface { get; set; }

		public IGenericTestInterface<string> GenericTestInterface { get; set; }

		public SimpleExport SimpleExport { get; set; }
	}
}